#include "jogo.h"
#include <iostream>

using std::cout;
using std::endl;

Jogo::Jogo(string loc, string referee, int day, int month, Equipa* eq1, Equipa* eq2,
    int resultado_eq1, int resultado_eq2) : local(loc), arbitro(referee), equipa1(eq1), equipa2(eq2)
{
    Data data;
    data.dia = day;
    data.mes = month;
    data_jogo = data;

    Resultado temp_resultado;
    temp_resultado.equipa1 = resultado_eq1;
    temp_resultado.equipa2 = resultado_eq2;

    resultado = temp_resultado;
}

string Jogo::getLocal()
{
    return local;
}

string Jogo::getArbitro()
{
    return arbitro;
}

int Jogo::getDia()
{
    return data_jogo.dia;
}

int Jogo::getMes()
{
    return data_jogo.mes;
}

Data Jogo::getData()
{
    return data_jogo;
}

Equipa* Jogo::getEquipa1()
{
    return equipa1;
}

Equipa* Jogo::getEquipa2()
{
    return equipa2;
}

void Jogo::imprimir()
{
    /* Imprimir informacao sobre o jogo
       O output segue o seguinte padrao:
       Local
       Arbitro
       Data a que o jogo foi efectuado (dia/mes)
       O nome da equipa 1
       O nome da equipa 2
       O resultado final (golos da equipa1 -- golos da equipa2)
    */

    cout << "Local do jogo: " << getLocal() << endl;
    cout << "Nome do arbitro: " << getArbitro() << endl;
    cout << "Data a que o jogo foi efectuado (dia/mes): " << getDia() << "/" << getMes()<< endl;
    cout << "Equipa 1: " << equipa1->getNomeEquipa() << endl;
    cout << "Equipa 2: " << equipa2->getNomeEquipa() << endl;
    cout << "Resultado final do jogo: " << resultado.equipa1 << " -- " << resultado.equipa2 << endl;

    if (resultado.equipa1 > resultado.equipa2)
        cout << equipa1->getNomeEquipa() << " e o vencedor" << endl;
    else if (resultado.equipa1 < resultado.equipa2)
        cout << equipa2->getNomeEquipa() << " e o vencedor" << endl;
    else
        cout << "Foi um empate.";
}
